home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 September / CHIP Eylül 1998.iso / freeware / Crypt01 / crypt.exe / README.TXT < prev   
Text File  |  1997-11-11  |  10KB  |  201 lines

  1. Copyright (c) Nick Payne 1996-1997
  2.  
  3. Cryptext v2.54
  4.  
  5. Overview
  6. ========
  7. Cryptext is a freeware Windows 95 / NT4 shell extension that performs strong 
  8. file encryption. It uses a combination of SHA-1 and RC4 to encrypt files using 
  9. a 160-bit key. The current versions of Cryptext can always be found on my home 
  10. page at http://www.pcug.org.au/~njpayne, and are mirrored to the ftp site
  11. ftp.funet.fi/pub/crypt/utilities/file.
  12.  
  13. This version of Cryptext is available in English, French, and German language 
  14. versions. The ZIP file for the English version is CRYPTEXT.ZIP, for the French
  15. version CRYPTFRA.ZIP, and for the German version CRYPTDEU.ZIP. Only the Cryptext 
  16. program itself is language specific. The readme file and help file are still in 
  17. English for all versions.
  18.  
  19. Cryptext may be used in any way, for any purpose, at no cost. It may be 
  20. distributed by any means, provided that the original files as supplied by the 
  21. author remain intact and that no charge is made other than for reasonable 
  22. distribution costs. Note that Cryptext contains strong cryptographic routines 
  23. upon which some countries place distribution and/or use restrictions. Verify 
  24. that you are allowed to use or distribute Cryptext before doing so.
  25.  
  26. DISCLAIMER OF WARRANTY
  27. THIS SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES 
  28. AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED 
  29. OR IMPLIED. BECAUSE OF THE VARIOUS HARDWARE AND SOFTWARE ENVIRONMENTS INTO 
  30. WHICH THIS PROGRAM MAY BE PUT, NO WARRANTY OF FITNESS FOR PARTICULAR PURPOSE 
  31. IS OFFERED. GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE 
  32. THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT. THE USER MUST 
  33. ASSUME THE ENTIRE RISK OF USING THE PROGRAM.
  34.  
  35. Any product or brand names mentioned in this document are trademarks or 
  36. registered trademarks of their respective owners.
  37.  
  38. **IMPORTANT** This version of Cryptext implements a checksum to prevent 
  39. accidental decryption of a file with the wrong password, and is _not_ 
  40. compatible with any version of Cryptext prior to v2.30. If you have files you 
  41. have encrypted with a version of Cryptext older than v2.30, you must decrypt 
  42. them before installing this new version. If you do not, you will not be able 
  43. to decrypt these files without un-installing the new version and re-installing 
  44. the previous version.
  45.  
  46. Alternatively, you can use the console application DECRYPT.EXE, which is 
  47. included in the ZIP file, to decrypt any file encrypted with Cryptext version 
  48. 2.0 or later. However, DECRYPT.EXE can only decrypt a single file at a time, 
  49. and makes no check that you are using the same password for decryption as you 
  50. used when encrypting the file.
  51.  
  52. If you are presently using Cryptext v1.x, you _must_ decrypt all encrypted 
  53. files before installing the new version of Cryptext, or you will have no way
  54. of decrypting previously encrypted files.
  55.  
  56. New in this version
  57. ===================
  58. The explanatory text in the initial password dialog was changed to give a better
  59. explanation of what was happening with the user's encryption password.
  60.  
  61. Acknowledgements
  62. ================
  63. Thanks to Juergen Schultze and Juergen Wulf for the German translations.
  64.  
  65. Thanks to Gary Mulhern for information on the registry entries needed to get 
  66. a meaningful icon and file type to display for encrypted files in Explorer.
  67.  
  68. To install Cryptext
  69. ===================
  70. 1. If you have a previous version of Cryptext older than v2.30 installed, 
  71.    decrypt any encrypted files.
  72.  
  73. 2. Unzip the contents of CRYPTEXT.ZIP into a temporary directory. Due to a
  74.    limitation of the Microsoft INF installation facility, you should not unzip
  75.    the files into a directory with a long pathname. Unzip into a path that
  76.    conforms to DOS 8.3 naming conventions (eg C:\TEMP).
  77.  
  78. 3. In Explorer, right-click on CRYPTEXT.INF and select Install from the popup 
  79.    context menu. Depending on how your Explorer options are configured, you may 
  80.    just see the filename as Cryptext rather than CRYPTEXT.INF, but Explorer
  81.    shows the file type as "Setup Information".
  82.  
  83. 4. Once Cryptext is installed, you can delete the files you unzipped into the
  84.    temporary directory, as they are no longer needed.
  85.  
  86. To install this shell extension on Windows NT you must be logged in as 
  87. Administrator or a user who is a member of the Administrators group. This is 
  88. because only an Administrator has update rights to the part of the registry 
  89. where shell extensions are registered.
  90.  
  91. To uninstall Cryptext
  92. =====================
  93. 1. From the Start menu, select Settings, then Control Panel, then Add/Remove 
  94.    Programs. 
  95.  
  96. 2. Select the "Cryptext (Remove only)" entry.
  97.  
  98. 3. Click on the Add/Remove button.
  99.  
  100. How does it work?
  101. =================
  102. 1. When you install Cryptext it adds "Encrypt" and "Decrypt" items to the 
  103.    context menu you get when right-clicking on files or directories in 
  104.    Explorer.
  105.  
  106. 2. When you encrypt a file, Cryptext takes your passphrase and uses the SHA-1 
  107.    one-way hash function to generate a 160-bit key. 
  108.  
  109. 3. For each file selected, it then concatenates the key from step 2 with a 
  110.    salt value generated from (a) the number of 100-nanosecond intervals since 
  111.    January 1, 1601, and (b) a 32-bit random number, and hashes this 
  112.    concatenation with SHA-1 to produce the key which is used for the 
  113.    encryption. This step is taken to ensure that no two files are encrypted 
  114.    with the same keystream.
  115.  
  116. 4. The file is then encrypted in 16Kb blocks. Each block is read, encrypted, 
  117.    and then written back to disk, so that when the encryption of the file is
  118.    complete, the original file has been completely overwritten by the 
  119.    encrypted version.
  120.  
  121. 5. The salt values from step 3 are stored in plaintext with the encrypted file, 
  122.    so that the file can be successfully decrypted when the correct passphrase is 
  123.    supplied. There is no requirement that these values be kept secret, only 
  124.    that they be unique for each file.
  125.  
  126. 6. In order to verify your passphrase on second and subsequent executions, 
  127.    Cryptext takes the key generated in step 2, adds it to the end of your 
  128.    passphrase, and applies the SHA-1 function to the concatenation of the 
  129.    passphrase and key. The resultant hash is stored in the registry so that 
  130.    subsequent passphrases can be checked for validity by being put through 
  131.    the same two-step hash and compared with the stored value.
  132.  
  133. For decryption, Cryptext first reads the values saved in step 5 from the 
  134. encrypted file and concatenates them with your hashed passphrase to obtain 
  135. the decryption key.
  136.  
  137. Verification
  138. ============
  139. CRYPTEXT.ZIP contains the PGP signature of CRYPTEXT.DLL in the signature file 
  140. CRYPTEXT.SIG. If you have a copy of PGP version 5, you can use this together 
  141. with my public key to verify that CRYPTEXT.DLL has not been altered before it 
  142. reached you. My public key is available either from the keyserver 
  143. pgpkeys.mit.edu or from my web page at www.pcug.org.au/~njpayne/verify.html.
  144.  
  145. To verify that Cryptext actually does what I claim, CRYTPEXT.ZIP contains a 
  146. second zip file, DECRYPT.ZIP. This contains the source code and a Visual C++ 
  147. make file to build a Win32 console application that uses SHA-1 and RC4 to decrypt 
  148. files which have been encrypted with Cryptext. To verify Cryptext:
  149. 1. Extract the contents of DECRYPT.ZIP into a directory
  150. 2. Check the source code
  151. 3. Use the make file to build DECRYPT.EXE
  152. 4. Encrypt a file with Cryptext
  153. 5. Run DECRYPT.EXE in a DOS window to decrypt the file. You need to supply two
  154.    command line parameters. The first is the passphrase; the second is the
  155.    filename. e.g.
  156.       DECRYPT " my pass phrase" c:\temp\test.txt.$#!
  157.    Don't forget that a file encrypted with Cryptext will have the added
  158.    extension "$#!" which is not shown in Explorer.
  159.  
  160. Notes
  161. =====
  162. 1. If you are running on Windows NT 4 then you have the option to retain the
  163.    encryption password in memory for the duration of your NT session. If you
  164.    are running on Windows 95 you must enter the password for each encryption
  165.    or decryption.
  166.  
  167. 2. After the initial execution of Cryptext, you cannot change your encryption
  168.    password unless you know the existing password. If you forget the password,
  169.    you have to uninstall and reinstall Cryptext. If you have files you have
  170.    encrypted, and you have forgotten the password, then those files are not
  171.    recoverable.
  172.  
  173. 3. Cryptext assumes that the file system on which it is running supports long
  174.    filenames. When it encrypts a file it adds the extension ".$#!" to the
  175.    filename. This name change will fail if the existing filename already
  176.    exceeds 252 characters or if the file system does not support long
  177.    filenames (such as a NetWare server volume which does not have long
  178.    namespace support loaded). The resulting file is still encrypted but it
  179.    does not have the extension which Cryptext recognises, and you will not
  180.    be able to decrypt it until you change the file extension to ".$#!".
  181.  
  182. 4. Password selection. Cryptext allows a password to be up to 255 characters
  183.    long. As a file encryption password is generally in use for much longer
  184.    than a login password, you should use more care selecting it. For more
  185.    information on good password selection, use one of the www search engines
  186.    to search for web documents containing "password", "selection", and "good".
  187.  
  188. If you are interested in finding out more about encryption and cryptography:
  189. a) RSA's web site at www.rsa.com has a good cryptography FAQ available both
  190.    online and as a downloadable PDF file
  191. b) There is a lot of cryptographic source code at the ftp site
  192.    idea.sec.dsi.unimi.it/pub/security/crypt/code
  193. c) Bruce Schneier's book "Applied Cryptography" has a comprehensive coverage
  194.    of both protocols and algorithms
  195. d) You can find an encryption library which provides a consistent interface
  196.    to many encryption algorithms, as both source code and 16- and 32-bit DLLs,
  197.    at http://www.cs.auckland.ac.nz/~pgut001/cryptlib.html.
  198.  
  199. Nick Payne
  200. njpayne@pcug.org.au
  201.